package com.sky.skyopsserver.vos;

import jakarta.validation.constraints.NotBlank;
import jakarta.validation.constraints.Pattern;
import jakarta.validation.constraints.Size;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;

/**
 * 添加项目请求VO
 * 
 * @author Administrator
 * @since 2025-01-17
 */
@Data
@AllArgsConstructor
@NoArgsConstructor
@Builder
public class ProjectAddReqVO {
    
    /**
     * 英文名称（项目编码）
     */
    @NotBlank(message = "项目编码不能为空")
    @Size(max = 255, message = "项目编码长度不能超过255个字符")
    @Pattern(regexp = "^[a-zA-Z][a-zA-Z0-9_-]*$", message = "项目编码必须以字母开头，只能包含字母、数字、下划线和短横线")
    private String code;
    
    /**
     * 项目名称
     */
    @NotBlank(message = "项目名称不能为空")
    @Size(max = 255, message = "项目名称长度不能超过255个字符")
    private String name;
    
    /**
     * 备注
     */
    @Size(max = 255, message = "备注长度不能超过255个字符")
    private String remark;
}